/**
 * 项目名：	Rumba Plan
 * 
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2006，所有权利保留。
 * 
 * 文件名：	IPromptMgr.java
 * 模块说明：	
 * 修改历史：
 * 2006-11-14 - lxm - 创建。
 */
package com.hd123.rumba.prompt;

import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;

import com.hd123.rumba.domain.IDomain;
import com.hd123.rumba.exception.BusinessException;
import com.hd123.rumba.runtime.IManager;
import com.hd123.rumba.runtime.OperateContext;

/**
 * 提示信息 | 管理员 | 接口类
 * 
 * @author lxm
 * 
 */
public interface IPromptMgr extends IManager {

  /**
   * 创建一个提示信息对象。
   * 
   * @param domain
   *          指定提示信息对象的域。
   * @return 创建的提示信息对象。
   * @throws BusinessException
   */
  public IPrompt createPrompt(IDomain domain) throws BusinessException;

  /**
   * 保存指定提示信息对象。
   * 
   * @param ses
   *          指定HibernateSession。
   * @param prompt
   *          指定被保存的提示信息对象。
   * @param operate
   * @throws BusinessException
   * @throws HibernateException
   */
  public void save(Session ses, IPrompt prompt, OperateContext operate) throws BusinessException,
      HibernateException;

  /**
   * 物理删除指定提示信息对象。
   * 
   * @param prompt
   *          指定被删除的提示信息对象。
   * @throws BusinessException
   * @throws HibernateException
   */
  public void remove(IPrompt prompt) throws BusinessException, HibernateException;

  /**
   * 根据uuid取得提示信息对象。
   * 
   * @param uuid
   *          指定提示信息的uuid。
   * @return 返回符合条件的提示信息对象，若找不到则返回null。
   * @throws BusinessException
   * @throws HibernateException
   */
  public IPrompt getPrompt(String uuid) throws BusinessException, HibernateException;
}
